.modal {
  &__overlay {
    z-index: z('modal');
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,0.7);
    @include flexbox();
    @include justify-content(center);
    @include align-items(center);
  }

  &__container {
    background-color: transparent;
    border-radius: 0.25rem;
    overflow-y: auto;
    box-sizing: border-box;
    position: relative;
  }

  &__content {
    margin: auto;
    position: relative;
  }

  &__header {
    position: absolute;
    top: 0;
    width: 100%;
    height: 50px;
    background: rgba(0,0,0,0.45);
  }

  &__caption {
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 100%;
    background: rgba(0,0,0,0.45);

    @include no-select;
    @include translateX(-50%);
    @include themify($themes) {
      color: themed('gtt-color');
    }

    &--text {
      text-align: center;
      font-family: $title-font;
      font-size: 14px;
      padding: 0.5rem;
      width: 40%;
      height: auto;
      margin: 0 auto;
    }
  }

  &__paging {
    position: absolute;
    top: 0;
    left: 0;
    width: 100px;
    padding: 0.8rem;
    height: auto;
    font-family: $title-font;
    font-size: 16px;
    background: transparent;

    @include no-select;
    @include themify($themes) {
      color: themed('gtt-color');
    }
  }

  &__icon {
    margin: 0;
    padding: 0.4rem;
    position: absolute;
    overflow: hidden;
    cursor: pointer;
    border-radius: 0.25rem;

    @include flexbox();
    @include align-items(center);
    @include justify-content(center);
  }

  &__toolbar {
    @include themify($themes) {
      color: themed('gtt-color');

      @include on-event {
        color: themed('gtt-hover-color');
        background: rgba(0,0,0,0.4);
      }
    }
    
    &--close {
      top: 0.4rem;
      right: 0.25rem;
    }

    &--full {
      top: 0.4rem;
      right: 2.8rem;
    }

    &--normal {
      top: 0.4rem;
      right: 2.8rem;
    }
  }

  &__arrow {
    @include themify($themes) {
      color: themed('gtt-color');
      background: rgba(0,0,0,0.45);

      @include on-event {
        color: themed('gtt-hover-color');
        background: rgba(0,0,0,0.5);
      }
    }

    &--left {
      left: 0.5rem;
      top: 50%;
      @include translateY(-50%);
    }

    &--right {
      right: 0.5rem;
      top: 50%;
      @include translateY(-50%);
    }
  }

  &__cite {
    width: 350px;
    height: 500px;
    white-space: nowrap;

    @include flexbox();
    @include justify-content(center);
    @media only screen and (max-width: 600px) {
      width: 100%;
    }
    @include themify($themes) {
      border: 4px solid themed('hr-color');
      background-color: themed('body-background-color');
      @include webkit-scrollbars(themed('custom-scrollbar-foreground-color'), themed('custom-scrollbar-background-color'));
      @include moz-scrollbars(themed('custom-scrollbar-foreground-color'), themed('custom-scrollbar-background-color'));
    }

    &--exist {
      width: 100%;
      padding: 4rem 0.5rem 2.5rem;
      font-size: 1rem;
      overflow-x: auto;

      @include themify($themes) {
        background-color: themed('body-background-color');
        @include webkit-scrollbars(themed('custom-scrollbar-foreground-color'), themed('custom-scrollbar-background-color'));
        @include moz-scrollbars(themed('custom-scrollbar-foreground-color'), themed('custom-scrollbar-background-color'));
      }
    }

    &--notexist {
      padding-top: 4rem;
    }
  }

  &__copy {
    position: absolute;
    left: 4px;
    bottom: 56px;
    width: 60px;
    height: 30px;
  }
}

@keyframes mmfadeIn {
    from { opacity: 0; }
      to { opacity: 1; }
}

@keyframes mmfadeOut {
    from { opacity: 1; }
      to { opacity: 0; }
}

.micromodal-slide {
  display: none;
}

.micromodal-slide.is-open {
  display: block;
}

.micromodal-slide[aria-hidden="false"] .modal__overlay {
  animation: mmfadeIn .3s cubic-bezier(0.0, 0.0, 0.2, 1);
}

.micromodal-slide[aria-hidden="false"] .modal__container {
  animation: mmfadeIn .3s cubic-bezier(0, 0, .2, 1);
}

.micromodal-slide[aria-hidden="true"] .modal__overlay {
  animation: mmfadeOut .3s cubic-bezier(0.0, 0.0, 0.2, 1);
}

.micromodal-slide[aria-hidden="true"] .modal__container {
  animation: mmfadeOut .3s cubic-bezier(0, 0, .2, 1);
}

.micromodal-slide .modal__container,
.micromodal-slide .modal__overlay {
  will-change: transform;
}